﻿using Application.Models;
using Application.Roles.Commands.RoleWrite;
using Application.Roles.Commands.UpdatePermissions;

namespace Application.Roles.Interfaces.Repositories
{
    public interface IRoleWriteRepository
    {
        /// <summary>
        /// 添加角色
        /// </summary>
        /// <param name="role"></param>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        Task<Guid> AddAsync(RoleWriteCommand role, CancellationToken cancellationToken = default);

        /// <summary>
        /// 更新角色
        /// </summary>
        /// <param name="role"></param>
        Task<IList<RoleDto>> UpdateAsync(RoleUpdaeCommand roles, CancellationToken cancellationToken = default);
    }
}
